﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Input;

namespace MotoGame.Base
{
    public class EstadoInput
    {
        KeyboardState _teclado;
        MouseState _mouse;
        GamePadState _joystick;
        KeyboardState _teclado_anterior;
        MouseState _mouse_anterior;
        GamePadState _joystick_anterior;

        public EstadoInput()
        {
            _teclado = Keyboard.GetState();
            _mouse = Mouse.GetState();
            _joystick = GamePad.GetState(PlayerIndex.One);
            _teclado_anterior = Keyboard.GetState();
            _mouse_anterior = Mouse.GetState();
            _joystick_anterior = GamePad.GetState(PlayerIndex.One);
        }

        public void Atualiza()
        {
            _teclado_anterior = _teclado;
            _mouse_anterior = _mouse;
            _joystick_anterior = _joystick;
            _teclado = Keyboard.GetState();
            _mouse = Mouse.GetState();
            _joystick = GamePad.GetState(PlayerIndex.One);
        }

        public bool mouseOver(Rectangle ret)
        {
            return ret.Intersects(new Rectangle(mouse.X, mouse.Y, 1, 1));
        }

        public KeyboardState teclado { get { return _teclado; } }
        public KeyboardState teclado_anterior { get { return _teclado_anterior; } }

        public MouseState mouse { get { return _mouse; } }
        public MouseState mouse_anterior { get { return _mouse_anterior; } }

        public GamePadState joystick { get { return _joystick; } }
        public GamePadState joystick_anterior { get { return _joystick_anterior; } }


    }

}
